# [재현테스트] Baron-SSO 제로베이스 개발환경 구축 및 연동 성공 보고

## 1. 작업 목적

팀장 요청에 따라 Baron-SSO 저장소만 제공된 상태에서 신규 개발 PC 환경을 구성하고 실제 서비스 기동 가능 여부를 재검증하였다.

본 테스트는 기존 구축 과정에서 과도한 시간이 소요된 원인을 확인하고, 표준 구축 절차 기준의 실제 소요시간 및 문제 발생 여부를 확인하기 위함이다.

---

# 2. 테스트 조건

## 시작 상태

### 로컬 PC

```text
WSL 미설치
Ubuntu 미설치
Docker 미설치
개발도구 미설치
Baron-SSO 소스 없음
```

### 제공 정보

```text
Gitea 저장소 주소만 제공
```

```text
https://gitea.hmac.kr/baron/baron-sso.git
```

---

# 3. 작업 타임라인

| 시간            | 작업내용                     | 결과 |
| ------------- | ------------------------ | -- |
| 10:20 ~ 10:25 | WSL 활성화                  | 완료 |
| 10:25 ~ 10:27 | 재부팅 및 WSL 확인             | 완료 |
| 10:27 ~ 10:28 | Ubuntu 설치                | 완료 |
| 10:28 ~ 10:30 | apt update               | 완료 |
| 10:30 ~ 10:31 | Git / Make / dos2unix 설치 | 완료 |
| 10:31 ~ 10:32 | 설치 검증                    | 완료 |
| 10:32 ~ 10:36 | Docker Engine 설치         | 완료 |
| 10:36 ~ 10:38 | Docker 권한 설정             | 완료 |
| 10:38 ~ 10:40 | Docker 동작 검증             | 완료 |
| 10:40 ~ 10:45 | Baron-SSO Clone          | 완료 |
| 10:45 ~ 10:47 | .env 생성                  | 완료 |
| 10:47 ~ 10:49 | Auth Config 생성           | 완료 |
| 10:49 ~ 10:50 | Ory Config 생성            | 완료 |
| 10:50 ~ 10:54 | Ory Stack 기동             | 실패 |
| 10:54 ~ 11:05 | 오류 분석                    | 완료 |
| 13:05 ~ 13:10 | Kratos 오류 분석             | 완료 |
| 13:10 ~ 13:15 | 팀장 보고 및 트러블 등록           | 완료 |
| 13:15 ~ 13:17 | 원본 보존 원칙 확정              | 완료 |
| 13:17 ~ 13:18 | 로컬 .env 수정               | 완료 |
| 13:18 ~ 13:20 | Ory Config 재생성           | 완료 |
| 13:20 ~ 13:21 | Kratos 설정 확인             | 완료 |
| 13:21 ~ 13:25 | Ory Stack 재기동            | 성공 |
| 13:25 ~ 13:28 | Baron App 기동             | 성공 |
| 13:28 ~ 13:32 | 전체 상태 확인                 | 성공 |
| 13:32 ~ 13:35 | 로그인 화면 확인                | 성공 |

---

# 4. 재현된 문제

## Kratos 초기 기동 실패

발생 로그

```text
selfservice.allowed_return_urls.12: []

expected string, but got array
```

---

# 5. 원인 분석

현재 저장소의 .env.sample

```env
KRATOS_ALLOWED_RETURN_URLS_EXTRA=[]
```

설정 생성 후 Kratos 설정파일

```yaml
allowed_return_urls:
 ...
 - []
```

생성됨.

Kratos는 String 배열을 기대하지만 Array([])가 포함되어 초기 기동 실패.

---

# 6. 조치 사항

원본 저장소는 수정하지 않음.

로컬 실행용 .env만 수정.

수정 전

```env
KRATOS_ALLOWED_RETURN_URLS_EXTRA=[]
```

수정 후

```env
KRATOS_ALLOWED_RETURN_URLS_EXTRA=
```

이후

```bash
make render-ory-config
make up-dev
```

재실행.

---

# 7. 최종 결과

## Ory Stack

```text
ory_postgres      Healthy
ory_kratos        Running
ory_hydra         Running
ory_keto          Running
ory_oathkeeper    Running
```

---

## Baron Application

```text
baron_gateway     Healthy
baron_backend     Healthy
baron_userfront   Healthy
baron_adminfront  Running
baron_devfront    Running
baron_orgfront    Running
```

---

## 접속 확인

접속 URL

```text
http://localhost:5000
```

결과

```text
Baron SW 포탈 로그인 화면 정상 표시
```

---

# 8. 결론

이번 재현 테스트 결과,

WSL / Ubuntu / Docker 설치 자체는 문제없이 진행되었다.

그러나 현재 Gitea 저장소의 .env.sample 파일에 포함된

```env
KRATOS_ALLOWED_RETURN_URLS_EXTRA=[]
```

설정으로 인해 Kratos 초기 기동이 실패함을 재현하였다.

따라서 현재 저장소는 "Clone 후 즉시 실행 가능 상태"는 아니며, .env.sample 또는 설정 생성 스크립트에 대한 개선이 필요하다.

다만 로컬 실행용 설정 수정 후에는 Baron-SSO 전체 스택이 정상 기동되었으며, Gateway/UserFront/Backend 및 로그인 화면까지 정상 확인하였다.

---

# 9. 다음 단계

기능 검증 수행

```text
1. 회원가입(Register) 테스트
2. 로그인(Login) 테스트
3. Kratos 인증 흐름 테스트
4. Hydra OAuth/OIDC 테스트
5. Backend API 테스트
6. AdminFront 테스트
7. DevFront 테스트
8. OrgFront 테스트
```
